//listing of all techniques and passes with embedded asm listings 

technique Default
{
    pass Pass0
    {
        vertexshader = 
            asm {
            
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 worldMatrix;
            //   float4x4 worldviewproj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   worldviewproj c0       4
            //   worldMatrix   c4       4
            //
            
                vs_2_0
                def c8, 1, 0, 0, 0
                dcl_position v0
                dcl_normal v1
                dcl_texcoord v2
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp3 r1.w, v1, c7
                dp3 r1.x, v1, c4
                dp3 r1.y, v1, c5
                dp3 r1.z, v1, c6
                dp4 oPos.x, r0, c0
                dp4 r1.w, r1, r1
                dp4 oPos.y, r0, c1
                rsq r1.w, r1.w
                dp4 oPos.w, r0, c3
                mul oT0.xyz, r1, r1.w
                dp4 oT2.x, r0, c4
                dp4 oT2.y, r0, c5
                dp4 oT2.z, r0, c6
                dp4 r1.y, r0, c2
                dp4 oT2.w, r0, c7
                mov oPos.z, r1.y
                mov oT3.x, r1.y
                mov oT1.xy, v2
            
            // approximately 19 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } } technique DefaultUp { pass Pass0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 worldMatrix;
            //   float4x4 worldviewproj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   worldviewproj c0       4
            //   worldMatrix   c4       4
            //
            
                vs_2_0
                def c8, 1, 0, 0, 0
                dcl_position v0
                dcl_texcoord v2
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r0, c0
                dp4 oPos.y, r0, c1
                dp4 oPos.w, r0, c3
                dp4 oT2.x, r0, c4
                dp4 oT2.y, r0, c5
                dp4 oT2.z, r0, c6
                dp4 oT2.w, r0, c7
                dp4 r0.y, r0, c2
                mov oPos.z, r0.y
                mov oT3.x, r0.y
                mov oT0.xyz, c8.yxyw
                mov oT1.xy, v2
            
            // approximately 13 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } } technique Transparent { pass Pass0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 worldMatrix;
            //   float4x4 worldviewproj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   worldviewproj c0       4
            //   worldMatrix   c4       4
            //
            
                vs_2_0
                def c8, 1, 0, 0, 0
                dcl_position v0
                dcl_normal v1
                dcl_texcoord v2
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp3 r1.w, v1, c7
                dp3 r1.x, v1, c4
                dp3 r1.y, v1, c5
                dp3 r1.z, v1, c6
                dp4 oPos.x, r0, c0
                dp4 r1.w, r1, r1
                dp4 oPos.y, r0, c1
                rsq r1.w, r1.w
                dp4 oPos.w, r0, c3
                mul oT0.xyz, r1, r1.w
                dp4 oT2.x, r0, c4
                dp4 oT2.y, r0, c5
                dp4 oT2.z, r0, c6
                dp4 r1.y, r0, c2
                dp4 oT2.w, r0, c7
                mov oPos.z, r1.y
                mov oT3.x, r1.y
                mov oT1.xy, v2
            
            // approximately 19 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } pass Pass1 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 worldMatrix;
            //   float4x4 worldviewproj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   worldviewproj c0       4
            //   worldMatrix   c4       4
            //
            
                vs_2_0
                def c8, 1, 0, 0, 0
                dcl_position v0
                dcl_normal v1
                dcl_texcoord v2
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp3 r1.w, v1, c7
                dp3 r1.x, v1, c4
                dp3 r1.y, v1, c5
                dp3 r1.z, v1, c6
                dp4 oPos.x, r0, c0
                dp4 r1.w, r1, r1
                dp4 oPos.y, r0, c1
                rsq r1.w, r1.w
                dp4 oPos.w, r0, c3
                mul oT0.xyz, r1, r1.w
                dp4 oT2.x, r0, c4
                dp4 oT2.y, r0, c5
                dp4 oT2.z, r0, c6
                dp4 r1.y, r0, c2
                dp4 oT2.w, r0, c7
                mov oPos.z, r1.y
                mov oT3.x, r1.y
                mov oT1.xy, v2
            
            // approximately 19 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } } technique TransparentUp { pass Pass0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 worldMatrix;
            //   float4x4 worldviewproj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   worldviewproj c0       4
            //   worldMatrix   c4       4
            //
            
                vs_2_0
                def c8, 1, 0, 0, 0
                dcl_position v0
                dcl_texcoord v2
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r0, c0
                dp4 oPos.y, r0, c1
                dp4 oPos.w, r0, c3
                dp4 oT2.x, r0, c4
                dp4 oT2.y, r0, c5
                dp4 oT2.z, r0, c6
                dp4 oT2.w, r0, c7
                dp4 r0.y, r0, c2
                mov oPos.z, r0.y
                mov oT3.x, r0.y
                mov oT0.xyz, c8.yxyw
                mov oT1.xy, v2
            
            // approximately 13 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } pass Pass1 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 worldMatrix;
            //   float4x4 worldviewproj;
            //
            //
            // Registers:
            //
            //   Name          Reg   Size
            //   ------------- ----- ----
            //   worldviewproj c0       4
            //   worldMatrix   c4       4
            //
            
                vs_2_0
                def c8, 1, 0, 0, 0
                dcl_position v0
                dcl_texcoord v2
                mad r0, v0.xyzx, c8.xxxy, c8.yyyx
                dp4 oPos.x, r0, c0
                dp4 oPos.y, r0, c1
                dp4 oPos.w, r0, c3
                dp4 oT2.x, r0, c4
                dp4 oT2.y, r0, c5
                dp4 oT2.z, r0, c6
                dp4 oT2.w, r0, c7
                dp4 r0.y, r0, c2
                mov oPos.z, r0.y
                mov oT3.x, r0.y
                mov oT0.xyz, c8.yxyw
                mov oT1.xy, v2
            
            // approximately 13 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } } technique DefaultInstanced { pass Pass0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 viewproj;
            //
            //
            // Registers:
            //
            //   Name         Reg   Size
            //   ------------ ----- ----
            //   viewproj     c0       4
            //
            
                vs_2_0
                def c4, 1, 0, 0, 0
                dcl_position v0
                dcl_normal v1
                dcl_texcoord v2
                dcl_texcoord1 v3
                dcl_texcoord2 v4
                dcl_texcoord3 v5
                dcl_texcoord4 v6
                mad r1, v0.xyzx, c4.xxxy, c4.yyyx
                dp4 r0.x, v3, r1
                dp4 r0.y, v4, r1
                dp4 r0.z, v5, r1
                dp4 r0.w, v6, r1
                dp4 oPos.x, r0, c0
                mov r2.xyz, v1
                dp3 r1.x, v3, r2
                dp3 r1.y, v4, r2
                dp3 r1.z, v5, r2
                dp4 oPos.y, r0, c1
                dp4 oPos.w, r0, c3
                nrm r2.xyz, r1
                mov oT0.xyz, r2
                dp4 r1.y, r0, c2
                mov oT2, r0
                mov oPos.z, r1.y
                mov oT3.x, r1.y
                mov oT1.xy, v2
            
            // approximately 21 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } } technique DefaultUpInstanced { pass Pass0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 viewproj;
            //
            //
            // Registers:
            //
            //   Name         Reg   Size
            //   ------------ ----- ----
            //   viewproj     c0       4
            //
            
                vs_2_0
                def c4, 1, 0, 0, 0
                dcl_position v0
                dcl_texcoord1 v1
                dcl_texcoord v2
                dcl_texcoord2 v3
                dcl_texcoord3 v4
                dcl_texcoord4 v5
                mad r1, v0.xyzx, c4.xxxy, c4.yyyx
                dp4 r0.x, v1, r1
                dp4 r0.y, v3, r1
                dp4 r0.z, v4, r1
                dp4 r0.w, v5, r1
                dp4 oPos.x, r0, c0
                dp4 oPos.y, r0, c1
                dp4 oPos.w, r0, c3
                dp4 r1.y, r0, c2
                mov oT2, r0
                mov oPos.z, r1.y
                mov oT3.x, r1.y
                mov oT0.xyz, c4.yxyw
                mov oT1.xy, v2
            
            // approximately 14 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } } technique TransparentInstanced { pass Pass0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 viewproj;
            //
            //
            // Registers:
            //
            //   Name         Reg   Size
            //   ------------ ----- ----
            //   viewproj     c0       4
            //
            
                vs_2_0
                def c4, 1, 0, 0, 0
                dcl_position v0
                dcl_normal v1
                dcl_texcoord v2
                dcl_texcoord1 v3
                dcl_texcoord2 v4
                dcl_texcoord3 v5
                dcl_texcoord4 v6
                mad r1, v0.xyzx, c4.xxxy, c4.yyyx
                dp4 r0.x, v3, r1
                dp4 r0.y, v4, r1
                dp4 r0.z, v5, r1
                dp4 r0.w, v6, r1
                dp4 oPos.x, r0, c0
                mov r2.xyz, v1
                dp3 r1.x, v3, r2
                dp3 r1.y, v4, r2
                dp3 r1.z, v5, r2
                dp4 oPos.y, r0, c1
                dp4 oPos.w, r0, c3
                nrm r2.xyz, r1
                mov oT0.xyz, r2
                dp4 r1.y, r0, c2
                mov oT2, r0
                mov oPos.z, r1.y
                mov oT3.x, r1.y
                mov oT1.xy, v2
            
            // approximately 21 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } pass Pass1 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 viewproj;
            //
            //
            // Registers:
            //
            //   Name         Reg   Size
            //   ------------ ----- ----
            //   viewproj     c0       4
            //
            
                vs_2_0
                def c4, 1, 0, 0, 0
                dcl_position v0
                dcl_normal v1
                dcl_texcoord v2
                dcl_texcoord1 v3
                dcl_texcoord2 v4
                dcl_texcoord3 v5
                dcl_texcoord4 v6
                mad r1, v0.xyzx, c4.xxxy, c4.yyyx
                dp4 r0.x, v3, r1
                dp4 r0.y, v4, r1
                dp4 r0.z, v5, r1
                dp4 r0.w, v6, r1
                dp4 oPos.x, r0, c0
                mov r2.xyz, v1
                dp3 r1.x, v3, r2
                dp3 r1.y, v4, r2
                dp3 r1.z, v5, r2
                dp4 oPos.y, r0, c1
                dp4 oPos.w, r0, c3
                nrm r2.xyz, r1
                mov oT0.xyz, r2
                dp4 r1.y, r0, c2
                mov oT2, r0
                mov oPos.z, r1.y
                mov oT3.x, r1.y
                mov oT1.xy, v2
            
            // approximately 21 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } } technique TransparentUpInstanced { pass Pass0 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 viewproj;
            //
            //
            // Registers:
            //
            //   Name         Reg   Size
            //   ------------ ----- ----
            //   viewproj     c0       4
            //
            
                vs_2_0
                def c4, 1, 0, 0, 0
                dcl_position v0
                dcl_texcoord1 v1
                dcl_texcoord v2
                dcl_texcoord2 v3
                dcl_texcoord3 v4
                dcl_texcoord4 v5
                mad r1, v0.xyzx, c4.xxxy, c4.yyyx
                dp4 r0.x, v1, r1
                dp4 r0.y, v3, r1
                dp4 r0.z, v4, r1
                dp4 r0.w, v5, r1
                dp4 oPos.x, r0, c0
                dp4 oPos.y, r0, c1
                dp4 oPos.w, r0, c3
                dp4 r1.y, r0, c2
                mov oT2, r0
                mov oPos.z, r1.y
                mov oT3.x, r1.y
                mov oT0.xyz, c4.yxyw
                mov oT1.xy, v2
            
            // approximately 14 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } pass Pass1 { vertexshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4x4 viewproj;
            //
            //
            // Registers:
            //
            //   Name         Reg   Size
            //   ------------ ----- ----
            //   viewproj     c0       4
            //
            
                vs_2_0
                def c4, 1, 0, 0, 0
                dcl_position v0
                dcl_texcoord1 v1
                dcl_texcoord v2
                dcl_texcoord2 v3
                dcl_texcoord3 v4
                dcl_texcoord4 v5
                mad r1, v0.xyzx, c4.xxxy, c4.yyyx
                dp4 r0.x, v1, r1
                dp4 r0.y, v3, r1
                dp4 r0.z, v4, r1
                dp4 r0.w, v5, r1
                dp4 oPos.x, r0, c0
                dp4 oPos.y, r0, c1
                dp4 oPos.w, r0, c3
                dp4 r1.y, r0, c2
                mov oT2, r0
                mov oPos.z, r1.y
                mov oT3.x, r1.y
                mov oT0.xyz, c4.yxyw
                mov oT1.xy, v2
            
            // approximately 14 instruction slots used
            
}; pixelshader = asm {
//
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float2 FogStartEnd;
            //   float4 vSunColorIntensity;
            //
            //
            // Registers:
            //
            //   Name               Reg   Size
            //   ------------------ ----- ----
            //   vSunColorIntensity c0       1
            //   FogStartEnd        c1       1
            //
            
                preshader
                mul c0.xyz, c0.w, c0.xyz
                neg r2.w, c1.x
                add r1.w, c1.y, c1.y
                add r0.w, r2.w, r1.w
                mov c1.x, r1.w
                rcp c2.x, r0.w
            
            // approximately 6 instructions used
            //
            // Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
            //
            // Parameters:
            //
            //   float4 ambient;
            //   float4 camPos;
            //   sampler2D diffuseMap;
            //   float4 lightDir;
            //   float4 vBetaDashMie;
            //   float4 vBetaDashRayleigh;
            //   float4 vBetaRayleighMie;
            //   float4 vConstants;
            //   float4 vExtInscMultipliers;
            //   float3 vFogColor;
            //   float4 vHG;
            //   float4 vOneOverBetaRM;
            //
            //
            // Registers:
            //
            //   Name                Reg   Size
            //   ------------------- ----- ----
            //   vExtInscMultipliers c3       1
            //   vBetaDashRayleigh   c4       1
            //   vBetaDashMie        c5       1
            //   vBetaRayleighMie    c6       1
            //   vOneOverBetaRM      c7       1
            //   vHG                 c8       1
            //   vConstants          c9       1
            //   vFogColor           c10      1
            //   lightDir            c11      1
            //   camPos              c12      1
            //   ambient             c13      1
            //   diffuseMap          s0       1
            //
            
                ps_2_0
                def c14, 0, 1, -1.44269502, 0.25
                dcl t0.xyz
                dcl t1.xy
                dcl t2.xyz
                dcl_2d s0
                texld r0, t1, s0
                add r1.xyz, -t2, c12
                dp3 r2.x, r1, r1
                rsq r1.w, r2.x
                mul r1.xyz, r1, r1.w
                dp3 r1.x, c11, r1
                max r3.w, r1.x, c14.x
                mad r2.w, c8.z, r3.w, c8.y
                mad r3.w, r3.w, r3.w, c14.y
                rsq r4.w, r2.w
                mul r2.w, r4.w, r4.w
                mul r2.w, r4.w, r2.w
                mul r2.w, r2.w, c8.x
                mul r1.xyz, r3.w, c4
                rcp r1.w, r1.w
                mad r2.xyz, c5, r2.w, r1
                mul r1.xyz, r1.w, -c6
                mul r1.xyz, r1, c9.y
                mul r1.xyz, r1, c14.z
                exp r1.x, r1.x
                exp r1.y, r1.y
                exp r1.z, r1.z
                add r3.xyz, -r1, c9.x
                mul_sat r1.xyz, r1, c0
                mul r2.xyz, r2, r3
                mul r2.xyz, r2, c7
                mul r2.xyz, r2, c3.y
                mul r2.xyz, r2, c0
                max r3.xyz, -r2, c14.x
                add r2.w, -r1.w, c1.x
                dp3 r4.x, t0, c11
                min r2.xyz, r3, c14.w
                max r1.w, r4.x, c14.x
                mul r2.w, r2.w, c2.x
                add r3.xyz, r1.w, c13
                min r1.w, r2.w, c14.y
                mad r0.xyz, r0, r3, -c10
                mad r0.xyz, r1.w, r0, c10
                mad_sat r0.xyz, r0, r1, r2
                mov oC0, r0
            
            // approximately 40 instruction slots used (1 texture, 39 arithmetic)
            
}; } }